package cn.iocoder.yudao.module.trade.controller.admin.giftcard.vo;

import lombok.*;

import java.time.LocalDate;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 礼品卡分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CardPageReqVO extends PageParam {

    @Schema(description = "礼品卡名称")
    private String giftCardTitle;

    @Schema(description = "礼品卡 背景图片", example = "https://www.iocoder.cn")
    private String giftCardPicUrl;

    @Schema(description = "礼品卡微信 id", example = "637")
    private String wxCardId;

    @Schema(description = "交易订单 id", example = "12334")
    private Long tradeOrderId;

    @Schema(description = "选择的祝福语")
    private String blessings;

    @Schema(description = "状态", example = "1")
    private Integer giftCardStatus;

    @Schema(description = "创建人 社交用户的编号   system_social_user", example = "26968")
    private Integer createSocialUserId;

    @Schema(description = "创建人 member_user", example = "10496")
    private Integer createMemberUserId;

    @Schema(description = "当前所属人 社交用户的编号   system_social_user", example = "17138")
    private Integer currentOwnerSocialUserId;

    @Schema(description = "当前所属人 member_user", example = "13238")
    private Integer currentOwnerMemberUserId;

    @Schema(description = "礼品卡挑选商品组合")
    private String giftCardGroup;

    @Schema(description = "礼品卡商品总价，单位：分", example = "26117")
    private Integer giftCardPrice;

    @Schema(description = "有效期开始时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDate[] validityStartTime;

    @Schema(description = "有效期结束时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDate[] validityEndTime;

    @Schema(description = "create_time")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}